home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 051-060 / amok52 / gadgeted / txt / textwindows.mod < prev    next >
Text File  |  1993-11-04  |  5KB  |  153 lines

  1. (*----------------------------------------------------------------------
  2.   :Program.    TextWindows.mod
  3.   :Contents.   Anzeigen von Texten (Hilfe, Copyright)
  4.   :Author.     Hubert Bildstein
  5.   :Copyright.  Public Domain
  6.   :Language.   Modula-2
  7.   :Translator. M2Amiga V3.3d
  8.   :History.    V1.0   5.12.1990
  9. ----------------------------------------------------------------------*)
  10.  
  11. IMPLEMENTATION MODULE TextWindows;
  12. (* Darstellen von Windows mit div. Texten (Copyright, Help) *)
  13.  
  14. FROM SYSTEM    IMPORT ADR, ADDRESS;
  15. FROM Arts      IMPORT Assert, TermProcedure;
  16. FROM Intuition IMPORT NewWindow, OpenWindow, CloseWindow, WindowPtr,
  17.                       WindowFlags, WindowFlagSet, customScreen,
  18.                       IDCMPFlagSet, IDCMPFlags, PrintIText, IntuiText;
  19. FROM Graphics  IMPORT jam2;
  20. FROM Message   IMPORT WaitForMsg;
  21.  
  22. VAR WPtr : WindowPtr;
  23.     IText : IntuiText;
  24.  
  25. (*-------------------------------------------------------------------------*)
  26.  
  27. PROCEDURE CloseAll;
  28. BEGIN
  29.  IF (WPtr # NIL) THEN
  30.    CloseWindow (WPtr); WPtr := NIL;
  31.  END; (*IF*)
  32. END CloseAll;
  33.  
  34. (*-------------------------------------------------------------------------*)
  35.  
  36. PROCEDURE Copyright (SPtr : ADDRESS);
  37. (* Kurzes Anzeigen des Copyright-Vermerks *)
  38.  
  39. VAR WDef  : NewWindow;
  40.     Count : INTEGER;
  41.     class : IDCMPFlagSet;
  42.     code  : CARDINAL;
  43.     adr   : ADDRESS;
  44.  
  45. BEGIN
  46.  WITH WDef DO
  47.    leftEdge := 180; topEdge := 90; width := 300; height := 60;
  48.    detailPen := 0; blockPen := 1;
  49.    idcmpFlags := IDCMPFlagSet{closeWindow,intuiTicks,mouseButtons};
  50.    flags := WindowFlagSet{windowClose,windowDrag,activate,rmbTrap};
  51.    firstGadget := NIL;checkMark := NIL;
  52.    title := ADR(">>>>>>>   GadgetEd V1.0   <<<<<<<");
  53.    screen := SPtr;bitMap := NIL; type := customScreen;
  54.  END; (*WITH*)
  55.  WPtr := OpenWindow(WDef);
  56.  Assert (WPtr#NIL,ADR("Error opening Text-Window"));
  57.  
  58.  WITH IText DO
  59.    iText := ADR("   This program is Public Domain");
  60.    PrintIText (WPtr^.rPort,ADR(IText),10,15);
  61.    iText := ADR("    © 1990 by Hubert Bildstein");
  62.    PrintIText (WPtr^.rPort,ADR(IText),10,27);
  63.    iText := ADR("Gehenbühlstr. 5  W7000 Stuttgart 31");
  64.    PrintIText (WPtr^.rPort,ADR(IText),10,40);
  65.    iText := ADR("             Germany");
  66.    PrintIText (WPtr^.rPort,ADR(IText),10,48);
  67.  END; (*WITH*)
  68.  
  69.  Count := 0;
  70.  REPEAT
  71.   WaitForMsg (WPtr,class,code,adr);
  72.   INC (Count);
  73.  UNTIL (Count >= 70) OR (closeWindow IN class) OR (mouseButtons IN class);
  74.  
  75.  CloseAll;
  76. END Copyright;
  77.  
  78. (*-------------------------------------------------------------------------*)
  79.  
  80. PROCEDURE Help (SPtr : ADDRESS);
  81. (* Anzeigen der Tastenbelegung *)
  82.  
  83. VAR WDef  : NewWindow;
  84.     class : IDCMPFlagSet;
  85.     code  : CARDINAL;
  86.     adr   : ADDRESS;
  87.  
  88. BEGIN
  89.  WITH WDef DO
  90.    leftEdge := 120; topEdge := 50; width := 400; height := 165;
  91.    detailPen := 0; blockPen := 1;
  92.    idcmpFlags := IDCMPFlagSet{closeWindow,mouseButtons,vanillaKey};
  93.    flags := WindowFlagSet{windowClose,windowDrag,activate,rmbTrap};
  94.    firstGadget := NIL;checkMark := NIL;
  95.    title := ADR("GadgetEd V1.0");
  96.    screen := SPtr;bitMap := NIL; type := customScreen;
  97.  END; (*WITH*)
  98.  WPtr := OpenWindow(WDef);
  99.  Assert (WPtr#NIL,ADR("Error opening Help-Window"));
  100.  
  101.  WITH IText DO
  102.    iText := ADR("F1  - Delete Gadget    | F2  - Move Gadget");
  103.    PrintIText (WPtr^.rPort,ADR(IText),10,15);
  104.    iText := ADR("F3  - Copy Gadget      | F4  - Size Gadget");
  105.    PrintIText (WPtr^.rPort,ADR(IText),10,25);
  106.    iText := ADR("F9  - Add Gadget-Text  | F10 - Change Attributes");
  107.    PrintIText (WPtr^.rPort,ADR(IText),10,35);
  108.    iText := ADR("B   - Create normal Boolean-Gadget");
  109.    PrintIText (WPtr^.rPort,ADR(IText),10,45);
  110.    iText := ADR("T   - Create toggleSelect Boolean-Gadget");
  111.    PrintIText (WPtr^.rPort,ADR(IText),10,55);
  112.    iText := ADR("S   - Create normal String-Gadget");
  113.    PrintIText (WPtr^.rPort,ADR(IText),10,65);
  114.    iText := ADR("I   - Create integer String-Gadget");
  115.    PrintIText (WPtr^.rPort,ADR(IText),10,75);
  116.    iText := ADR("X   - Create horizontal Proportional-Gadget");
  117.    PrintIText (WPtr^.rPort,ADR(IText),10,85);
  118.    iText := ADR("Y   - Create vertical Proportional-Gadget");
  119.    PrintIText (WPtr^.rPort,ADR(IText),10,95);
  120.    iText := ADR("Z   - Create 2-dimensional Proportional-Gadget");
  121.    PrintIText (WPtr^.rPort,ADR(IText),10,105);
  122.    iText := ADR("HELP - This Info");
  123.    PrintIText (WPtr^.rPort,ADR(IText),10,115);
  124.    iText := ADR("             © 1990 Hubert Bildstein");
  125.    PrintIText (WPtr^.rPort,ADR(IText),10,130);
  126.    iText := ADR("  Gehenbühlstr.5, W7000 Stuttgart 31, Germany");
  127.    PrintIText (WPtr^.rPort,ADR(IText),10,140);
  128.    iText := ADR("          This program is Public Domain");
  129.    PrintIText (WPtr^.rPort,ADR(IText),10,150);
  130.  END; (*WITH*)
  131.  
  132.  WaitForMsg (WPtr,class,code,adr);
  133.  
  134.  CloseAll;
  135. END Help;
  136.  
  137. (*-------------------------------------------------------------------------*)
  138.  
  139. BEGIN
  140.  
  141.  TermProcedure (CloseAll);  (* für Fehler *)
  142.  WPtr := NIL;
  143.  
  144.  (* IntuiText-Record inititalisieren *)
  145.  WITH IText DO
  146.    frontPen := 1; backPen := 0; drawMode := jam2;
  147.    leftEdge := 0; topEdge := 0;
  148.    iTextFont := NIL; nextText := NIL;
  149.  END; (*WITH*)
  150.  
  151. END TextWindows.
  152.  
  153.